package org.example;

import java.util.HashMap;
import java.util.Map;

/**
 * 习题类的手动测试类
 */
public class ExercisePaperTestMain {
    public static void main(String[] args) {
        // 1. 创建一套习题
        ExercisePaper paper = new ExercisePaper("一年级数学口算题（10道）");

        // 2. 向习题中添加算式
        paper.addExpression(new ArithmeticExpression(2, 3, '+'));
        paper.addExpression(new ArithmeticExpression(5, 2, '-'));
        paper.addExpression(new ArithmeticExpression(4, 5, '*'));

        // 3. 打印习题
        paper.printExercise();

        // 4. 模拟用户答案
        Map<ArithmeticExpression, Double> userAnswers = new HashMap<>();
        userAnswers.put(paper.getAllExpressions().get(0), 5.0); // 第一题答对
        userAnswers.put(paper.getAllExpressions().get(1), 2.0); // 第二题答错（正确结果是3）
        userAnswers.put(paper.getAllExpressions().get(2), 20.0); // 第三题答对

        // 5. 计算正确率
        double accuracy = paper.calculateAccuracy(userAnswers);
        System.out.println("\n你的正确率是：" + (accuracy * 100) + "%"); // 预期：66.67%
    }
}